home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 April: Mac OS SDK / Dev.CD Apr 97 SDK1.toast / Development Kits (Disc 1) / Apple Shared Library Manager / ASLM Examples / TestTools / Sources / TestClass.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-11-19  |  2.1 KB  |  86 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        TestClass.h
  3.  
  4.     Contains:    Template declaration for test class
  5.  
  6.     Copyright:    © 1991-1994 by Apple Computer, Inc., all rights reserved.
  7.  
  8. */
  9.  
  10. #ifndef __TESTCLASS__
  11. #define __TESTCLASS__
  12.  
  13. #ifndef __GLOBALNEW__
  14. #include <GlobalNew.h>
  15. #endif
  16. #ifdef USEMPW
  17.     #ifndef __ASLMCLIBS__
  18.     #include <ASLMCLibs.h>
  19.     #endif
  20. #endif
  21. #ifndef __TESTTOOL__
  22. #include <TestTool.h>
  23. #endif
  24. #ifndef __LIBRARYMANAGERCLASSES__
  25. #include <LibraryManagerClasses.h>
  26. #endif
  27.  
  28. /**********************************************************************
  29. ** CLASS TNumber
  30. ***********************************************************************/
  31.  
  32. class TNumber : public TMatchObject
  33. {
  34.     public:
  35.                                 TNumber(short);
  36.         virtual                    ~_CDECL TNumber();
  37.  
  38.         virtual Boolean            _CDECL IsEqual(const void*) const;
  39.         virtual unsigned long    _CDECL Hash() const;
  40.         
  41.         short    fNumber;
  42. };
  43.  
  44. /**********************************************************************
  45. ** CLASS TNumberHasher
  46. ***********************************************************************/
  47.  
  48. class TNumberHasher : public THashObject
  49. {
  50.     public:
  51.                                 TNumberHasher();
  52.         virtual                    ~_CDECL TNumberHasher();
  53.  
  54.         virtual unsigned long    _CDECL Hash(const void*) const;
  55. };
  56.  
  57. /**********************************************************************
  58. ** Macros for TTestxxxxxxx
  59. ***********************************************************************/
  60.  
  61. #define BodyTest(ClassName, ClassToTest)                                                \
  62.     public:                                                                    \
  63.                         _CDECL TTest##ClassName();                                    \
  64.         virtual            ~_CDECL TTest##ClassName();                                \
  65.                                                                             \
  66.         virtual void    _CDECL InitTest(BooleanParm verbose, BooleanParm debug, int argc, char** argv);            \
  67.         virtual void    _CDECL RunTestIteration(BooleanParm verbose, BooleanParm debug);    \
  68.         virtual void    _CDECL EndTest(BooleanParm verbose, BooleanParm debug);            \
  69.                                                                             \
  70.     T##ClassToTest*    fTest                                                    \
  71.  
  72. #define Constructor(ClassName)                                \
  73. TTest##ClassName :: TTest##ClassName()                        \
  74. {                                                            \
  75.     fTest = NULL;                                            \
  76. }
  77.  
  78. #define Destructor(ClassName)                        \
  79. TTest##ClassName :: ~TTest##ClassName()                \
  80. {                                                    \
  81.     delete fTest;                                    \
  82.     fTest = NULL;                                    \
  83. }
  84.  
  85. #endif
  86.